<?php
include("../config.inc.php");
include("../util.php");	
include("../clases.php");	

session_start();

if(!$_SESSION["obj_sesion"]->compruebaAcceso("ADME")){		echo "<script language='javascript'>location.href='salir.php'</script>";
		die(); }

switch($_REQUEST["action"]){

/*#######################################################################################################################################################*/
/*########################################################################  GRID  #######################################################################*/
/*#######################################################################################################################################################*/

	//Este es el grid de los distribuidores
	case 'grid_users':{
		$page = $_GET['page']; // get the requested page
		$limit = $_GET['rows']; // get how many rows we want to have into the grid 
		$sidx = $_GET['sidx']; // get index row - i.e. user click to sort 
		$sord = $_GET['sord']; // get the direction 
		if(!$sidx) $sidx =1; 
		
		//Se introducen en arrrays los campos de consulta y sus respectivos alias
		$traductor = array("ds.id_distribuidor","ds.nombre","ds.direccion","ds.localidad","ds.telefono","ds.email","p.nombre");
		$campos = array("id_distribuidor","nombre","direccion", "localidad", "telefono", "email", "id_proveedor");
		descodificar_utf8_array($_GET);
		//Se obtiene el numero de registros activos que hay en la base de datos
		$result = consultaSimple("distribuidores","fecha_baja IS NULL","","COUNT(*) AS count");
		$count = $result['count']; 
		
		//Se obtiene el total de páginas con las que contará el jqgrid
		if( $count >0 ) { 
			$total_pages = ceil($count/$limit); 
		} else { 
			$total_pages = 0;
		} 
		if ($page > $total_pages) 
			$page=$total_pages; 

		//Se obtiene el numero de registro por el que empezará la página actual del jqgrid
		$start = $limit*$page - $limit;
		
		$table =" distribuidores ds, proveedores p";
		$where ="";
		/*if($_SESSION["obj_sesion"]->getTipo()!="Gerente" || $_SESSION["obj_sesion"]->getTipo()!="Superusuario" )
			{
				$nuevo = saber_tipo_mesas($_SESSION["obj_sesion"]->getIdUsuario());
				foreach($nuevo as $key => $value)
				 	if($value['tipo']<3)
					{
						if($where != "") {$where .= " OR ";}
						$where .= "ep.id_mesa = ".$value['mesa'];
					}
				if($where != "") $where .= " AND ";
			}*/
			
		$select = 'ds.id_distribuidor AS id_distribuidor'.formar_select_jqgrid($campos,$traductor);
		$where .="ds.fecha_baja IS NULL AND ds.id_proveedor = p.id_proveedor ";
		$where .= formar_where_jqgrid($campos,$traductor,$_GET);
		$result = consultaMultiple($table,$where,"ORDER BY $sidx $sord LIMIT $start , $limit",$select); // Consulta multiple  ---------->>>>>>>>>>>
		pasar_utf8_array($result);
		$responce->page = $page; 
		$responce->total = $total_pages; 
		$responce->records = $count; 

		//for($i=0;$i<count($result);$i++){
		
		//Se introducen los datos de la consulta en un array que será el origen de datos del jqgrid
		for($i=0;$i<count($result);$i++){
			$responce->rows[$i]['id']=$result[$i]["id_distribuidor"]; 
			for($x=0;$x<count($campos);$x++){
			//if($result[$i]["habilitado"]=="1")$result[$i]["habilitado"]="Si";else $result[$i]["habilitado"]="No";
			//$responce->rows[$i]['id']=$result[$i]["id_proveedor"]; 
			//$responce->rows[$i]['cell']=array($result[$i]["id_proveedor"],$result[$i]["nombre"]);
				$responce->rows[$i]['cell'][]=$result[$i][$campos[$x]];
			//$responce->rows[$i]['cell'][]=array($result[$i]["id_proveedor"],$result[$i]["telefono"]);
			//$responce->rows[$i]['cell'][]=array($result[$i]["id_proveedor"],$result[$i]["email"]);
			}

			//$responce->rows[$i]['cell']=$result[$i]["nombre"];
		}
		echo json_encode($responce); 
		break;
	}

/*#######################################################################################################################################################*/
/*##################################################################  FORMULARIO  #######################################################################*/
/*#######################################################################################################################################################*/

	//Este es el formulario para la inserción y modificación de los distribuidores
	case 'formUsuario':{

		
		$vector=array(); //es un array donde se almacenarán los datos del distribuidor en caso de modificacion
		$cuent=array(); //es un array donde se almacenará el numero de proveedores activos que hay en la base de datos
		$proveedor=array(); //es una matriz donde se almacenarán los datos de todos los proveedores activos de la base de datos
		
		$_action = "insertar";
		//Si se recibe un id de distribuidor es que el formulario es de modificacion y se procede a recoger los datos pertinentes
		if(isset($_REQUEST["id"])){
			//la accion pasa a ser modificar
			$_action = "modificar";
			//Se hace una consulta para obtener todos los datos del distribuidor a modificar
			$vector = consultaSimple("distribuidores","fecha_baja is null and id_distribuidor=".$_REQUEST["id"]);
			//$mesas = consultaMultiple("empresa_mesa um LEFT JOIN seguridad_tipos st ON st.id_tipo = um.id_tipo LEFT JOIN listado_mesas lm ON lm.id_mesa = um.id_mesa",'um.id_empresa = '.$_GET['id'],'','lm.nombre as mesa, lm.id_mesa as id_mesa, st.tipo as tipo, st.id_tipo as id_tipo,um.comprador AS comprador');
			pasar_utf8_array($vector);
			
			
		}
		
		//Se hace una consulta para obtener los datos de todos los distribuidores activos de la base de datos
		$proveedor=consultaMultiple("proveedores","fecha_baja is null","","id_proveedor, nombre");
		pasar_utf8_array($proveedor);
		//Se hace una consulta para obtener el numero de proveedores activos que hay en la base de datos
		$cuent=consultaSimple("proveedores","fecha_baja is null","","COUNT(*) as cuenta");
		$cuentap=$cuent['cuenta'];
	
		//Se crean los campos del formulario donde se escribiran los datos del distribuidor, en caso de que el formulario sea de modificacion, inicialmente se insertarán los datos del distribuidor en los campos
		echo '<tr><td width="90%"><div style="width:100%">
				<fieldset style="width:95%">
				<legend class="txt_normal"><b>Datos Distribuidor</b></legend>
				<form id="form_empresa">
				<input type="hidden" id="id_distribuidor" name="id_distribuidor" value="'.$_REQUEST["id"].'">
				<table border="0" width="95%" align="center">
				
				<tr><td width=25% id="nombre" align="right">Distribuidor(*): </td>
				<td width=60%><input type="text" size=50 maxlength="50"  class="requeridos" name="nombre" value="'.utf8_decode($vector['nombre']).'" /></td></tr>
				
				<tr><td width=25% id="cif" align="right">CIF: </td>
				<td width=60%><input type="text" size=50 maxlength="9" name="cif" value="'.$vector['cif'].'" /></td></tr>
				
				<tr><td width=25% id="direccion" align="right">Direccion: </td>
				<td width=60%><input type="text" size=50 maxlength="100" name="direccion" value="'.utf8_decode($vector['direccion']).'" /></td></tr>
				
				<tr><td width=25% id="localidad" align="right">Localidad: </td>
				<td width=60%><input type="text" size=50 maxlength="50" name="localidad" value="'.utf8_decode($vector['localidad']).'" /></td></tr>
				
				<tr><td width=25% id="codigo_postal" align="right">Codigo Postal: </td>
				<td width=60%><input type="text" size=50 maxlength="5" onKeyPress="return comprobar_solonumeros(event);" name="codigo_postal" value="'.$vector['codigo_postal'].'" /></td></tr>
				
				<tr><td width=25% id="provincia" align="right">Provincia: </td>
				<td width=60%><input type="text" size=50 maxlength="50" name="provincia" value="'.utf8_decode($vector['provincia']).'" /></td></tr>
				
				<tr><td width=25% align="right" id="telefono" >Telefono(*): </td>
				<td width=60%><input type="text" size=50 maxlength="9" onKeyPress="return comprobar_solonumeros(event);" name="telefono" class="requeridos" value="'.$vector['telefono'].'" /></td></tr>
				
				<tr><td width=25% id="fax" align="right">Fax: </td>
				<td width=60%><input type="text" size=50 maxlength="9" onKeyPress="return comprobar_solonumeros(event);" name="fax" value="'.$vector['fax'].'" /></td></tr>
				
				<tr><td width=25% id="email" align="right">Email(*): </td>
				<td width=60%><input type="text" size=50 maxlength="70" name="email" class="requeridos" value="'.$vector['email'].'" /></td></tr>
				
				<tr>
						<td width="25%" align="right" id="id_proveedor"><input type="hidden" name="id_proveedor"  />Proveedor (*):</td>
						<td style="text-align:left;">
						
					<select name="id_proveedor" id="id_proveedor" class="requeridos"> ';
				
						//Se llena el combobox con los proveedores activos de la base de datos
						if($vector['id_proveedor'] == null){echo '<option value=0>Seleccione proveedor</option>';}
						for($i=1;$i<=$cuentap;$i++){
							if($vector['id_proveedor']== $i){
									echo '<option value='.$i.' selected="selected">'.$proveedor[$i-1]['nombre'].'</option>';
								}else{
									echo '<option value='.$i.'>'.$proveedor[$i-1]['nombre'].'</option>';}
								}
						echo'
						</select>
						</td>
					
				</tr>

		<tr>
					<td colspan="2" align="center" class="txt_normal" width=20%>
						<b>Los campos marcados con un asterisco (*) son obligatorios.</b>
					</td>
					<td width=80%></td>	
				</tr>
				<tr>
					<td class="txt_normal_neg" style="text-align:center; " colspan="2">
						<div id="contenedor"></div>
					</td></tr>
					<tr>
						<td colspan="2" width=40% align="center"><input type="button" value="&nbsp;Aceptar" id="aceptar" style="width:100px " class="aceptar" onClick="javascript:guardar(\''.$_action.'\');"><input type="button" value="&nbsp;Volver" id="volver" style="width:100px " class="aceptar" onClick="volver_atras();"></td>	
				<td width=30%></td>			
				</tr>
				</table>
			</form>
		</fieldset>
	</div></td></tr>';
		break;
	}

	

/*#######################################################################################################################################################*/
/*################################################### OPERACIONES DE EDICION DE REGISTROS ###############################################################*/
/*#######################################################################################################################################################*/
	
	//Se inserta un distribuidor en la base de datos
	case 'insertar':{
		//if(vacio($_REQUEST["nombre"])){ echo "nombre"; die(); }

		//Obtenemos el nuevo id del distribuidor		
		$id_distribuidor = maxid("distribuidores","id_distribuidor");
		
		//Metemos en un arrray los datos del distribuidor a insertar
		$vector = array();
		$vector['id_distribuidor'] = $id_distribuidor;
		$vector['nombre'] = $_GET['nombre'];
		$vector['cif'] = $_GET['cif'];
		$vector['direccion'] = $_GET['direccion'];
		$vector['localidad'] = $_GET['localidad'];
		$vector['codigo_postal'] = $_GET['codigo_postal'];
		$vector['provincia'] = $_GET['provincia'];
		$vector['telefono'] = $_GET['telefono'];
		$vector['fax'] = $_GET['fax'];
		$vector['email'] = $_GET['email'];
		$vector['id_proveedor'] = $_GET['id_proveedor'];
		
		//Insertamos en la base de datos el nuevo distribuidor
		insertaBD("distribuidores",$vector);
		
		echo "OK";
		die();
	};
	
	//Se modifica el distribuidor especificado
	case 'modificar':{
		//if(vacio($_REQUEST["nombre"])){ echo "nombre"; die(); }
		//Introducimos en un array los nuevos datos del distribuidor				
		$vector = array();
		$vector['nombre'] = $_GET['nombre'];
		$vector['cif'] = $_GET['cif'];
		$vector['direccion'] = $_GET['direccion'];
		$vector['localidad'] = $_GET['localidad'];
		$vector['codigo_postal'] = $_GET['codigo_postal'];
		$vector['provincia'] = $_GET['provincia'];
		$vector['telefono'] = $_GET['telefono'];
		$vector['fax'] = $_GET['fax'];
		$vector['email'] = $_GET['email'];
		$vector['id_proveedor'] = $_GET['id_proveedor'];
		
		//Modificamos los datos del distribuidor en la base de datos
		modificaBD("distribuidores",$vector,"id_distribuidor = ".$_REQUEST["id_distribuidor"]);
		echo "OK";
		die();
	};
	
	//Funcion que borra el distribuidor especificado
	case 'borrar':{
		$vector = array();
		//Se establece la fecha actual como la fecha de baja y se modifica en la base de datos
		$vector["fecha_baja"] = date("Y-m-d H:i:s");				
		modificaBD("distribuidores",$vector,"id_distribuidor=".$_REQUEST["id"]);
		
		break;
	}
};
?>
